package com.yupi.yuoj.judge;

import com.yupi.yuoj.model.entity.QuestionSubmit;
import com.yupi.yuoj.model.vo.QuestionSubmitVO;
import org.springframework.stereotype.Service;

public interface JudgeService {
    //判题服务需要做的事情
    //1）传入题目的提交 id，获取到对应的题目、提交信息（包含代码、编程语言等）
    //2）如果题目提交状态不为等待中，就不用重复执行了
    //3）更改判题（题目提交）的状态为 “判题中”，防止重复执行，也能让用户即时看到状态
    //4）调用沙箱，获取到执行结果
    //5）根据沙箱的执行结果，设置题目的判题状态和信息

    //暂时采用返回类型为QuestionSubmitVO是因为里面的属性符合判题服务需要的返回信息
    public QuestionSubmit doJudge(long questionSubmitId);
}
